<?php

// ///////////////
$unicode_ranges = array (
		array (
				'starthex' => '0000',
				'endhex' => '007E',
				'startdec' => 0,
				'enddec' => 126,
				'range' => 'Basic Latin' 
		),
		array (
				'starthex' => '00A0',
				'endhex' => '00FF',
				'startdec' => 160,
				'enddec' => 255,
				'range' => 'Latin-1 Supplement' 
		),
		array (
				'starthex' => '0100',
				'endhex' => '017F',
				'startdec' => 256,
				'enddec' => 383,
				'range' => 'Latin Extended-A' 
		),
		array (
				'starthex' => '0180',
				'endhex' => '024F',
				'startdec' => 384,
				'enddec' => 591,
				'range' => 'Latin Extended-B' 
		),
		array (
				'starthex' => '0250',
				'endhex' => '02AF',
				'startdec' => 592,
				'enddec' => 687,
				'range' => 'IPA Extensions' 
		),
		array (
				'starthex' => '02B0',
				'endhex' => '02FF',
				'startdec' => 688,
				'enddec' => 767,
				'range' => 'Spacing Modifier Letters' 
		),
		array (
				'starthex' => '0300',
				'endhex' => '036F',
				'startdec' => 768,
				'enddec' => 879,
				'range' => 'Combining Diacritical Marks',
				'combining' => true 
		),
		array (
				'starthex' => '0370',
				'endhex' => '03FF',
				'startdec' => 880,
				'enddec' => 1023,
				'range' => 'Greek' 
		),
		array (
				'starthex' => '0400',
				'endhex' => '04FF',
				'startdec' => 1024,
				'enddec' => 1279,
				'range' => 'Cyrillic' 
		),
		array (
				'starthex' => '0500',
				'endhex' => '052F',
				'startdec' => 1280,
				'enddec' => 1327,
				'range' => 'Cyrillic Supplement' 
		),
		array (
				'starthex' => '0530',
				'endhex' => '058F',
				'startdec' => 1328,
				'enddec' => 1423,
				'range' => 'Armenian' 
		),
		array (
				'starthex' => '0590',
				'endhex' => '05FF',
				'startdec' => 1424,
				'enddec' => 1535,
				'range' => 'Hebrew',
				'rtl' => true,
				'special' => true 
		),
		array (
				'starthex' => '0600',
				'endhex' => '06FF',
				'startdec' => 1536,
				'enddec' => 1791,
				'range' => 'Arabic',
				'rtl' => true,
				'special' => true 
		),
		array (
				'starthex' => '0700',
				'endhex' => '074F',
				'startdec' => 1792,
				'enddec' => 1871,
				'range' => 'Syriac',
				'rtl' => true,
				'special' => true 
		),
		array (
				'starthex' => '0750',
				'endhex' => '077F',
				'startdec' => 1872,
				'enddec' => 1919,
				'range' => 'Arabic Supplement',
				'rtl' => true,
				'special' => true 
		),
		array (
				'starthex' => '0780',
				'endhex' => '07BF',
				'startdec' => 1920,
				'enddec' => 1983,
				'range' => 'Thaana',
				'rtl' => true,
				'special' => true 
		),
		array (
				'starthex' => '07C0',
				'endhex' => '07FF',
				'startdec' => 1984,
				'enddec' => 2047,
				'range' => 'N\'Ko (Mandenkan)',
				'rtl' => true 
		),
		array (
				'starthex' => '0800',
				'endhex' => '083E',
				'startdec' => 2048,
				'enddec' => 2110,
				'range' => 'Samaritan',
				'rtl' => true 
		),
		array (
				'starthex' => '0900',
				'endhex' => '097F',
				'startdec' => 2304,
				'enddec' => 2431,
				'range' => 'Devanagari',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0980',
				'endhex' => '09FF',
				'startdec' => 2432,
				'enddec' => 2559,
				'range' => 'Bengali',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0A00',
				'endhex' => '0A7F',
				'startdec' => 2560,
				'enddec' => 2687,
				'range' => 'Gurmukhi',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0A80',
				'endhex' => '0AFF',
				'startdec' => 2688,
				'enddec' => 2815,
				'range' => 'Gujarati',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0B00',
				'endhex' => '0B7F',
				'startdec' => 2816,
				'enddec' => 2943,
				'range' => 'Oriya',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0B80',
				'endhex' => '0BFF',
				'startdec' => 2944,
				'enddec' => 3071,
				'range' => 'Tamil',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0C00',
				'endhex' => '0C7F',
				'startdec' => 3072,
				'enddec' => 3199,
				'range' => 'Telugu',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0C80',
				'endhex' => '0CFF',
				'startdec' => 3200,
				'enddec' => 3327,
				'range' => 'Kannada',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0D00',
				'endhex' => '0D7F',
				'startdec' => 3328,
				'enddec' => 3455,
				'range' => 'Malayalam',
				'indic' => true,
				'special' => true 
		),
		array (
				'starthex' => '0D80',
				'endhex' => '0DFF',
				'startdec' => 3456,
				'enddec' => 3583,
				'range' => 'Sinhala',
				'special' => true 
		),
		array (
				'starthex' => '0E00',
				'endhex' => '0E7F',
				'startdec' => 3584,
				'enddec' => 3711,
				'range' => 'Thai' 
		),
		array (
				'starthex' => '0E80',
				'endhex' => '0EFF',
				'startdec' => 3712,
				'enddec' => 3839,
				'range' => 'Lao' 
		),
		array (
				'starthex' => '0F00',
				'endhex' => '0FFF',
				'startdec' => 3840,
				'enddec' => 4095,
				'range' => 'Tibetan',
				'special' => true 
		),
		array (
				'starthex' => '1000',
				'endhex' => '109F',
				'startdec' => 4096,
				'enddec' => 4255,
				'range' => 'Myanmar',
				'special' => true 
		),
		array (
				'starthex' => '10A0',
				'endhex' => '10FF',
				'startdec' => 4256,
				'enddec' => 4351,
				'range' => 'Georgian' 
		),
		array (
				'starthex' => '1100',
				'endhex' => '11FF',
				'startdec' => 4352,
				'enddec' => 4607,
				'range' => 'Hangul Jamo',
				'cjk' => true 
		),
		array (
				'starthex' => '1200',
				'endhex' => '137F',
				'startdec' => 4608,
				'enddec' => 4991,
				'range' => 'Ethiopic' 
		),
		array (
				'starthex' => '1380',
				'endhex' => '139F',
				'startdec' => 4992,
				'enddec' => 5023,
				'range' => 'Ethiopic Supplement' 
		),
		array (
				'starthex' => '13A0',
				'endhex' => '13FF',
				'startdec' => 5024,
				'enddec' => 5119,
				'range' => 'Cherokee' 
		),
		array (
				'starthex' => '1400',
				'endhex' => '167F',
				'startdec' => 5120,
				'enddec' => 5759,
				'range' => 'Unified Canadian Aboriginal Syllabics' 
		),
		array (
				'starthex' => '1680',
				'endhex' => '169F',
				'startdec' => 5760,
				'enddec' => 5791,
				'range' => 'Ogham' 
		),
		array (
				'starthex' => '16A0',
				'endhex' => '16FF',
				'startdec' => 5792,
				'enddec' => 5887,
				'range' => 'Runic' 
		),
		array (
				'starthex' => '1700',
				'endhex' => '171F',
				'startdec' => 5888,
				'enddec' => 5919,
				'range' => 'Tagalog (Philippine)' 
		),
		array (
				'starthex' => '1720',
				'endhex' => '173F',
				'startdec' => 5920,
				'enddec' => 5951,
				'range' => 'Hanunoo (Philippine)' 
		),
		array (
				'starthex' => '1740',
				'endhex' => '175F',
				'startdec' => 5952,
				'enddec' => 5983,
				'range' => 'Buhid (Philippine)' 
		),
		array (
				'starthex' => '1760',
				'endhex' => '177F',
				'startdec' => 5984,
				'enddec' => 6015,
				'range' => 'Tagbanwa (Philippine)' 
		),
		array (
				'starthex' => '1780',
				'endhex' => '17FF',
				'startdec' => 6016,
				'enddec' => 6143,
				'range' => 'Khmer',
				'special' => true 
		),
		array (
				'starthex' => '1800',
				'endhex' => '18AF',
				'startdec' => 6144,
				'enddec' => 6319,
				'range' => 'Mongolian',
				'vertical' => true 
		),
		array (
				'starthex' => '18B0',
				'endhex' => '18F5',
				'startdec' => 6320,
				'enddec' => 6389,
				'range' => 'Canadian Syllabics' 
		),
		array (
				'starthex' => '1900',
				'endhex' => '194F',
				'startdec' => 6400,
				'enddec' => 6479,
				'range' => 'Limbu' 
		),
		array (
				'starthex' => '1950',
				'endhex' => '197F',
				'startdec' => 6480,
				'enddec' => 6527,
				'range' => 'Tai Le' 
		),
		array (
				'starthex' => '1980',
				'endhex' => '19DF',
				'startdec' => 6528,
				'enddec' => 6623,
				'range' => 'New Tai Lue' 
		),
		array (
				'starthex' => '19E0',
				'endhex' => '19FF',
				'startdec' => 6624,
				'enddec' => 6655,
				'range' => 'Khmer Symbols',
				'special' => true 
		),
		array (
				'starthex' => '1A00',
				'endhex' => '1A1F',
				'startdec' => 6656,
				'enddec' => 6687,
				'range' => 'Buginese' 
		),
		array (
				'starthex' => '1A20',
				'endhex' => '1AAF',
				'startdec' => 6688,
				'enddec' => 6831,
				'range' => 'Tai Tham' 
		),
		array (
				'starthex' => '1B00',
				'endhex' => '1B7F',
				'startdec' => 6912,
				'enddec' => 7039,
				'range' => 'Balinese',
				'special' => true 
		),
		array (
				'starthex' => '1B80',
				'endhex' => '1BBF',
				'startdec' => 7040,
				'enddec' => 7103,
				'range' => 'Sundanese' 
		),
		array (
				'starthex' => '1C00',
				'endhex' => '1C4F',
				'startdec' => 7168,
				'enddec' => 7247,
				'range' => 'Lepcha (Rong)' 
		),
		array (
				'starthex' => '1C50',
				'endhex' => '1C7F',
				'startdec' => 7248,
				'enddec' => 7295,
				'range' => 'Ol Chiki (Santali / Ol Cemet)' 
		),
		array (
				'starthex' => '1CD0',
				'endhex' => '1CFF',
				'startdec' => 7376,
				'enddec' => 7423,
				'range' => 'Vedic Extensions' 
		),
		array (
				'starthex' => '1D00',
				'endhex' => '1D7F',
				'startdec' => 7424,
				'enddec' => 7551,
				'range' => 'Phonetic Extensions' 
		),
		array (
				'starthex' => '1D80',
				'endhex' => '1DBF',
				'startdec' => 7552,
				'enddec' => 7615,
				'range' => 'Phonetic Extensions Supplement' 
		),
		array (
				'starthex' => '1DC0',
				'endhex' => '1DFF',
				'startdec' => 7616,
				'enddec' => 7679,
				'range' => 'Combining Diacritical Marks Supplement',
				'combining' => true 
		),
		array (
				'starthex' => '1E00',
				'endhex' => '1EFF',
				'startdec' => 7680,
				'enddec' => 7935,
				'range' => 'Latin Extended Additional' 
		),
		array (
				'starthex' => '1F00',
				'endhex' => '1FFF',
				'startdec' => 7936,
				'enddec' => 8191,
				'range' => 'Greek Extended' 
		),
		array (
				'starthex' => '2000',
				'endhex' => '206F',
				'startdec' => 8192,
				'enddec' => 8303,
				'range' => 'General Punctuation' 
		),
		array (
				'starthex' => '2070',
				'endhex' => '209F',
				'startdec' => 8304,
				'enddec' => 8351,
				'range' => 'Superscripts and Subscripts' 
		),
		array (
				'starthex' => '20A0',
				'endhex' => '20CF',
				'startdec' => 8352,
				'enddec' => 8399,
				'range' => 'Currency Symbols' 
		),
		array (
				'starthex' => '20D0',
				'endhex' => '20FF',
				'startdec' => 8400,
				'enddec' => 8447,
				'range' => 'Combining Marks for Symbols',
				'combining' => true 
		),
		array (
				'starthex' => '2100',
				'endhex' => '214F',
				'startdec' => 8448,
				'enddec' => 8527,
				'range' => 'Letterlike Symbols' 
		),
		array (
				'starthex' => '2150',
				'endhex' => '218F',
				'startdec' => 8528,
				'enddec' => 8591,
				'range' => 'Number Forms' 
		),
		array (
				'starthex' => '2190',
				'endhex' => '21FF',
				'startdec' => 8592,
				'enddec' => 8703,
				'range' => 'Arrows' 
		),
		array (
				'starthex' => '2200',
				'endhex' => '22FF',
				'startdec' => 8704,
				'enddec' => 8959,
				'range' => 'Mathematical Operators' 
		),
		array (
				'starthex' => '2300',
				'endhex' => '23FF',
				'startdec' => 8960,
				'enddec' => 9215,
				'range' => 'Miscellaneous Technical' 
		),
		array (
				'starthex' => '2400',
				'endhex' => '243F',
				'startdec' => 9216,
				'enddec' => 9279,
				'range' => 'Control Pictures' 
		),
		array (
				'starthex' => '2440',
				'endhex' => '245F',
				'startdec' => 9280,
				'enddec' => 9311,
				'range' => 'Optical Character Recognition' 
		),
		array (
				'starthex' => '2460',
				'endhex' => '24FF',
				'startdec' => 9312,
				'enddec' => 9471,
				'range' => 'Enclosed Alphanumerics' 
		),
		array (
				'starthex' => '2500',
				'endhex' => '257F',
				'startdec' => 9472,
				'enddec' => 9599,
				'range' => 'Box Drawing' 
		),
		array (
				'starthex' => '2580',
				'endhex' => '259F',
				'startdec' => 9600,
				'enddec' => 9631,
				'range' => 'Block Elements' 
		),
		array (
				'starthex' => '25A0',
				'endhex' => '25FF',
				'startdec' => 9632,
				'enddec' => 9727,
				'range' => 'Geometric Shapes' 
		),
		array (
				'starthex' => '2600',
				'endhex' => '26FF',
				'startdec' => 9728,
				'enddec' => 9983,
				'range' => 'Miscellaneous Symbols' 
		),
		array (
				'starthex' => '2700',
				'endhex' => '27BF',
				'startdec' => 9984,
				'enddec' => 10175,
				'range' => 'Dingbats' 
		),
		array (
				'starthex' => '27C0',
				'endhex' => '27EF',
				'startdec' => 10176,
				'enddec' => 10223,
				'range' => 'Miscellaneous Mathematical Symbols-A' 
		),
		array (
				'starthex' => '27F0',
				'endhex' => '27FF',
				'startdec' => 10224,
				'enddec' => 10239,
				'range' => 'Supplemental Arrows-A' 
		),
		array (
				'starthex' => '2800',
				'endhex' => '28FF',
				'startdec' => 10240,
				'enddec' => 10495,
				'range' => 'Braille Patterns' 
		),
		array (
				'starthex' => '2900',
				'endhex' => '297F',
				'startdec' => 10496,
				'enddec' => 10623,
				'range' => 'Supplemental Arrows-B' 
		),
		array (
				'starthex' => '2980',
				'endhex' => '29FF',
				'startdec' => 10624,
				'enddec' => 10751,
				'range' => 'Miscellaneous Mathematical Symbols-B' 
		),
		array (
				'starthex' => '2A00',
				'endhex' => '2AFF',
				'startdec' => 10752,
				'enddec' => 11007,
				'range' => 'Supplemental Mathematical Operators' 
		),
		array (
				'starthex' => '2B00',
				'endhex' => '2BFF',
				'startdec' => 11008,
				'enddec' => 11263,
				'range' => 'Miscellaneous Symbols and Arrows' 
		),
		array (
				'starthex' => '2C00',
				'endhex' => '2C5F',
				'startdec' => 11264,
				'enddec' => 11359,
				'range' => 'Glagolitic' 
		),
		array (
				'starthex' => '2C60',
				'endhex' => '2C7F',
				'startdec' => 11360,
				'enddec' => 11391,
				'range' => 'Latin Extended-C' 
		),
		array (
				'starthex' => '2C80',
				'endhex' => '2CFF',
				'startdec' => 11392,
				'enddec' => 11519,
				'range' => 'Coptic' 
		),
		array (
				'starthex' => '2D00',
				'endhex' => '2D2F',
				'startdec' => 11520,
				'enddec' => 11567,
				'range' => 'Georgian Supplement' 
		),
		array (
				'starthex' => '2D30',
				'endhex' => '2D7F',
				'startdec' => 11568,
				'enddec' => 11647,
				'range' => 'Tifinagh' 
		),
		array (
				'starthex' => '2D80',
				'endhex' => '2DDF',
				'startdec' => 11648,
				'enddec' => 11743,
				'range' => 'Ethiopic Extended' 
		),
		array (
				'starthex' => '2DE0',
				'endhex' => '2DFF',
				'startdec' => 11744,
				'enddec' => 11775,
				'range' => 'Cyrillic Extended-A' 
		),
		array (
				'starthex' => '2E00',
				'endhex' => '2E7F',
				'startdec' => 11776,
				'enddec' => 11903,
				'range' => 'Supplemental Punctuation' 
		),
		
		array (
				'starthex' => '2E80',
				'endhex' => '2EFF',
				'startdec' => 11904,
				'enddec' => 12031,
				'range' => 'CJK Radicals Supplement',
				'cjk' => true 
		),
		array (
				'starthex' => '2F00',
				'endhex' => '2FDF',
				'startdec' => 12032,
				'enddec' => 12255,
				'range' => 'Kangxi Radicals',
				'cjk' => true 
		),
		array (
				'starthex' => '2FF0',
				'endhex' => '2FFF',
				'startdec' => 12272,
				'enddec' => 12287,
				'range' => 'Ideographic Description Characters',
				'cjk' => true 
		),
		array (
				'starthex' => '3000',
				'endhex' => '303F',
				'startdec' => 12288,
				'enddec' => 12351,
				'range' => 'CJK Symbols and Punctuation',
				'cjk' => true 
		),
		array (
				'starthex' => '3040',
				'endhex' => '309F',
				'startdec' => 12352,
				'enddec' => 12447,
				'range' => 'Hiragana',
				'cjk' => true 
		),
		array (
				'starthex' => '30A0',
				'endhex' => '30FF',
				'startdec' => 12448,
				'enddec' => 12543,
				'range' => 'Katakana',
				'cjk' => true 
		),
		array (
				'starthex' => '3100',
				'endhex' => '312F',
				'startdec' => 12544,
				'enddec' => 12591,
				'range' => 'Bopomofo',
				'cjk' => true 
		),
		array (
				'starthex' => '3130',
				'endhex' => '318F',
				'startdec' => 12592,
				'enddec' => 12687,
				'range' => 'Hangul Compatibility Jamo',
				'cjk' => true 
		),
		array (
				'starthex' => '3190',
				'endhex' => '319F',
				'startdec' => 12688,
				'enddec' => 12703,
				'range' => 'Kanbun',
				'cjk' => true 
		),
		array (
				'starthex' => '31A0',
				'endhex' => '31BF',
				'startdec' => 12704,
				'enddec' => 12735,
				'range' => 'Bopomofo Extended',
				'cjk' => true 
		),
		array (
				'starthex' => '31C0',
				'endhex' => '31EF',
				'startdec' => 12736,
				'enddec' => 12783,
				'range' => 'CJK Strokes',
				'cjk' => true 
		),
		array (
				'starthex' => '31F0',
				'endhex' => '31FF',
				'startdec' => 12784,
				'enddec' => 12799,
				'range' => 'Katakana Phonetic Extensions',
				'cjk' => true 
		),
		array (
				'starthex' => '3200',
				'endhex' => '32FF',
				'startdec' => 12800,
				'enddec' => 13055,
				'range' => 'Enclosed CJK Letters and Months',
				'cjk' => true 
		),
		array (
				'starthex' => '3300',
				'endhex' => '33FF',
				'startdec' => 13056,
				'enddec' => 13311,
				'range' => 'CJK Compatibility',
				'cjk' => true 
		),
		array (
				'starthex' => '3400',
				'endhex' => '4DB5',
				'startdec' => 13312,
				'enddec' => 19893,
				'range' => 'CJK Unified Ideographs Extension A',
				'cjk' => true 
		),
		array (
				'starthex' => '4DC0',
				'endhex' => '4DFF',
				'startdec' => 19904,
				'enddec' => 19967,
				'range' => 'Yijing Hexagram Symbols',
				'cjk' => true 
		),
		array (
				'starthex' => '4E00',
				'endhex' => '9FFF',
				'startdec' => 19968,
				'enddec' => 40959,
				'range' => 'CJK Unified Ideographs',
				'cjk' => true 
		),
		array (
				'starthex' => 'A000',
				'endhex' => 'A48F',
				'startdec' => 40960,
				'enddec' => 42127,
				'range' => 'Yi Syllables',
				'cjk' => true 
		),
		array (
				'starthex' => 'A490',
				'endhex' => 'A4CF',
				'startdec' => 42128,
				'enddec' => 42191,
				'range' => 'Yi Radicals',
				'cjk' => true 
		),
		
		array (
				'starthex' => 'A4D0',
				'endhex' => 'A4FF',
				'startdec' => 42192,
				'enddec' => 42239,
				'range' => 'Lisu' 
		),
		
		array (
				'starthex' => 'A500',
				'endhex' => 'A63F',
				'startdec' => 42240,
				'enddec' => 42559,
				'range' => 'Vai' 
		),
		array (
				'starthex' => 'A640',
				'endhex' => 'A69F',
				'startdec' => 42560,
				'enddec' => 42655,
				'range' => 'Cyrillic Extended-B' 
		),
		
		array (
				'starthex' => 'A6A0',
				'endhex' => 'A6FF',
				'startdec' => 42656,
				'enddec' => 42751,
				'range' => 'Bamum' 
		),
		
		array (
				'starthex' => 'A700',
				'endhex' => 'A71F',
				'startdec' => 42752,
				'enddec' => 42783,
				'range' => 'Modifier Tone Letters' 
		),
		array (
				'starthex' => 'A720',
				'endhex' => 'A7FF',
				'startdec' => 42784,
				'enddec' => 43007,
				'range' => 'Latin Extended-D' 
		),
		array (
				'starthex' => 'A800',
				'endhex' => 'A82F',
				'startdec' => 43008,
				'enddec' => 43055,
				'range' => 'Syloti Nagri' 
		),
		
		array (
				'starthex' => 'A840',
				'endhex' => 'A87F',
				'startdec' => 43072,
				'enddec' => 43135,
				'range' => 'Phags-pa',
				'vertical' => true 
		),
		array (
				'starthex' => 'A880',
				'endhex' => 'A8DF',
				'startdec' => 43136,
				'enddec' => 43231,
				'range' => 'Saurashtra' 
		),
		
		array (
				'starthex' => 'A900',
				'endhex' => 'A92F',
				'startdec' => 43264,
				'enddec' => 43311,
				'range' => 'Kayah Li' 
		),
		array (
				'starthex' => 'A930',
				'endhex' => 'A95F',
				'startdec' => 43312,
				'enddec' => 43359,
				'range' => 'Rejang' 
		),
		
		array (
				'starthex' => 'A960',
				'endhex' => 'A97F',
				'startdec' => 43360,
				'enddec' => 43391,
				'range' => 'Hangul Choseong',
				'cjk' => true 
		),
		array (
				'starthex' => 'A980',
				'endhex' => 'A9DF',
				'startdec' => 43392,
				'enddec' => 43487,
				'range' => 'Javanese' 
		),
		
		array (
				'starthex' => 'AA00',
				'endhex' => 'AA5F',
				'startdec' => 43520,
				'enddec' => 43615,
				'range' => 'Cham' 
		),
		array (
				'starthex' => 'AA60',
				'endhex' => 'AA7B',
				'startdec' => 43616,
				'enddec' => 43647,
				'range' => 'Myanmar',
				'special' => true 
		),
		array (
				'starthex' => 'AA80',
				'endhex' => 'AADF',
				'startdec' => 43648,
				'enddec' => 43743,
				'range' => 'Tai Viet' 
		),
		
		array (
				'starthex' => 'ABC0',
				'endhex' => 'ABF9',
				'startdec' => 43968,
				'enddec' => 44025,
				'range' => 'Meetei Mayek' 
		),
		
		array (
				'starthex' => 'AC00',
				'endhex' => 'D7FF',
				'startdec' => 44032,
				'enddec' => 55295,
				'range' => 'Hangul Syllables',
				'cjk' => true 
		),

/*
array('starthex'=> 'D800', 'endhex'=>'DB7F', 'startdec'=> 55296, 'enddec'=>56191 , 'range'=>'High Surrogates', 'reserved'=>true),
array('starthex'=> 'DB80', 'endhex'=>'DBFF', 'startdec'=> 56192, 'enddec'=>56319 , 'range'=>'High Private Use Surrogates', 'reserved'=>true),
array('starthex'=> 'DC00', 'endhex'=>'DFFF', 'startdec'=> 56320, 'enddec'=>57343 , 'range'=>'Low Surrogates', 'reserved'=>true),
*/

array (
				'starthex' => 'E000',
				'endhex' => 'F8FF',
				'startdec' => 57344,
				'enddec' => 63743,
				'range' => 'Private Use',
				'pua' => true 
		),
		
		array (
				'starthex' => 'F900',
				'endhex' => 'FAFF',
				'startdec' => 63744,
				'enddec' => 64255,
				'range' => 'CJK Compatibility Ideographs',
				'cjk' => true 
		),
		array (
				'starthex' => 'FB00',
				'endhex' => 'FB4F',
				'startdec' => 64256,
				'enddec' => 64335,
				'range' => 'Alphabetic Presentation Forms' 
		),
		array (
				'starthex' => 'FB50',
				'endhex' => 'FDFF',
				'startdec' => 64336,
				'enddec' => 65023,
				'range' => 'Arabic Presentation Forms-A',
				'rtl' => true 
		),
		
		array (
				'starthex' => 'FE00',
				'endhex' => 'FE0F',
				'startdec' => 65024,
				'enddec' => 65039,
				'range' => 'Variation Selectors' 
		),
		
		array (
				'starthex' => 'FE10',
				'endhex' => 'FE1F',
				'startdec' => 65040,
				'enddec' => 65055,
				'range' => 'Vertical Forms' 
		),
		array (
				'starthex' => 'FE20',
				'endhex' => 'FE2F',
				'startdec' => 65056,
				'enddec' => 65071,
				'range' => 'Combining Half Marks',
				'combining' => true 
		),
		array (
				'starthex' => 'FE30',
				'endhex' => 'FE4F',
				'startdec' => 65072,
				'enddec' => 65103,
				'range' => 'CJK Compatibility Forms',
				'cjk' => true 
		),
		array (
				'starthex' => 'FE50',
				'endhex' => 'FE6F',
				'startdec' => 65104,
				'enddec' => 65135,
				'range' => 'Small Form Variants',
				'cjk' => true 
		),
		array (
				'starthex' => 'FE70',
				'endhex' => 'FEFE',
				'startdec' => 65136,
				'enddec' => 65278,
				'range' => 'Arabic Presentation Forms-B',
				'rtl' => true 
		),
		array (
				'starthex' => 'FEFF',
				'endhex' => 'FEFF',
				'startdec' => 65279,
				'enddec' => 65279,
				'range' => 'Specials' 
		),
		array (
				'starthex' => 'FF00',
				'endhex' => 'FFEF',
				'startdec' => 65280,
				'enddec' => 65519,
				'range' => 'Halfwidth and Fullwidth Forms',
				'cjk' => true 
		),
		array (
				'starthex' => 'FFF0',
				'endhex' => 'FFFD',
				'startdec' => 65520,
				'enddec' => 65533,
				'range' => 'Specials' 
		),

/* PLANE 1 */

array (
				'starthex' => '10000',
				'endhex' => '1007F',
				'startdec' => 65536,
				'enddec' => 65663,
				'range' => 'Linear B Syllabary' 
		),
		array (
				'starthex' => '10080',
				'endhex' => '100FF',
				'startdec' => 65664,
				'enddec' => 65791,
				'range' => 'Linear B Ideograms' 
		),
		array (
				'starthex' => '10100',
				'endhex' => '1013F',
				'startdec' => 65792,
				'enddec' => 65855,
				'range' => 'Aegean Numbers' 
		),
		array (
				'starthex' => '10140',
				'endhex' => '1018F',
				'startdec' => 65856,
				'enddec' => 65935,
				'range' => 'Ancient Greek Numbers' 
		),
		array (
				'starthex' => '10190',
				'endhex' => '101CF',
				'startdec' => 65936,
				'enddec' => 65999,
				'range' => 'Ancient Symbols' 
		),
		array (
				'starthex' => '101D0',
				'endhex' => '101FF',
				'startdec' => 66000,
				'enddec' => 66047,
				'range' => 'Phaistos Disc' 
		),
		array (
				'starthex' => '10280',
				'endhex' => '1029F',
				'startdec' => 66176,
				'enddec' => 66207,
				'range' => 'Lycian' 
		),
		array (
				'starthex' => '102A0',
				'endhex' => '102DF',
				'startdec' => 66208,
				'enddec' => 66271,
				'range' => 'Carian' 
		),
		array (
				'starthex' => '10300',
				'endhex' => '1032F',
				'startdec' => 66304,
				'enddec' => 66351,
				'range' => 'Old Italic' 
		),
		array (
				'starthex' => '10330',
				'endhex' => '1034F',
				'startdec' => 66352,
				'enddec' => 66383,
				'range' => 'Gothic' 
		),
		array (
				'starthex' => '10380',
				'endhex' => '1039F',
				'startdec' => 66432,
				'enddec' => 66463,
				'range' => 'Ugaritic' 
		),
		array (
				'starthex' => '103A0',
				'endhex' => '103DF',
				'startdec' => 66464,
				'enddec' => 66527,
				'range' => 'Old Persian' 
		),
		array (
				'starthex' => '10400',
				'endhex' => '1044F',
				'startdec' => 66560,
				'enddec' => 66639,
				'range' => 'Deseret' 
		),
		array (
				'starthex' => '10450',
				'endhex' => '1047F',
				'startdec' => 66640,
				'enddec' => 66687,
				'range' => 'Shavian' 
		),
		array (
				'starthex' => '10480',
				'endhex' => '104AF',
				'startdec' => 66688,
				'enddec' => 66735,
				'range' => 'Osmanya' 
		),
		array (
				'starthex' => '10800',
				'endhex' => '1083F',
				'startdec' => 67584,
				'enddec' => 67647,
				'range' => 'Cypriot Syllabary' 
		),
		array (
				'starthex' => '10900',
				'endhex' => '1091F',
				'startdec' => 67840,
				'enddec' => 67871,
				'range' => 'Phoenician' 
		),
		array (
				'starthex' => '10920',
				'endhex' => '1093F',
				'startdec' => 67872,
				'enddec' => 67903,
				'range' => 'Lydian' 
		),
		array (
				'starthex' => '10A00',
				'endhex' => '10A5F',
				'startdec' => 68096,
				'enddec' => 68191,
				'range' => 'Kharoshthi' 
		),
		
		array (
				'starthex' => '11080',
				'endhex' => '110CF',
				'startdec' => 69760,
				'enddec' => 69839,
				'range' => 'Kaithi' 
		),
		
		array (
				'starthex' => '12000',
				'endhex' => '123FF',
				'startdec' => 73728,
				'enddec' => 74751,
				'range' => 'Cuneiform (Sumero-Akkadian)' 
		),
		array (
				'starthex' => '12400',
				'endhex' => '1247F',
				'startdec' => 74752,
				'enddec' => 74879,
				'range' => 'Cuneiform Numbers and Punctuation' 
		),
		
		array (
				'starthex' => '13000',
				'endhex' => '1342F',
				'startdec' => 77824,
				'enddec' => 78895,
				'range' => 'Egyptian Hieroglyphs' 
		),
		
		array (
				'starthex' => '1D000',
				'endhex' => '1D0FF',
				'startdec' => 118784,
				'enddec' => 119039,
				'range' => 'Byzantine Musical Symbols' 
		),
		array (
				'starthex' => '1D100',
				'endhex' => '1D1FF',
				'startdec' => 119040,
				'enddec' => 119295,
				'range' => 'Musical Symbols' 
		),
		array (
				'starthex' => '1D200',
				'endhex' => '1D24F',
				'startdec' => 119296,
				'enddec' => 119375,
				'range' => 'Ancient Greek Musical Notation' 
		),
		array (
				'starthex' => '1D300',
				'endhex' => '1D35F',
				'startdec' => 119552,
				'enddec' => 119647,
				'range' => 'Tai Xuan Jing Symbols' 
		),
		array (
				'starthex' => '1D360',
				'endhex' => '1D37F',
				'startdec' => 119648,
				'enddec' => 119679,
				'range' => 'Counting Rod Numerals' 
		),
		array (
				'starthex' => '1D400',
				'endhex' => '1D7FF',
				'startdec' => 119808,
				'enddec' => 120831,
				'range' => 'Mathematical Alphanumeric Symbols' 
		),
		array (
				'starthex' => '1F000',
				'endhex' => '1F02F',
				'startdec' => 126976,
				'enddec' => 127023,
				'range' => 'Mahjong Tiles' 
		),
		array (
				'starthex' => '1F030',
				'endhex' => '1F09F',
				'startdec' => 127024,
				'enddec' => 127135,
				'range' => 'Domino Tiles' 
		),

/* PLANE 2 */

array (
				'starthex' => '20000',
				'endhex' => '2A6DF',
				'startdec' => 131072,
				'enddec' => 173791,
				'range' => 'CJK Unified Ideographs Extension B' 
		),
		array (
				'starthex' => '2A700',
				'endhex' => '2B734',
				'startdec' => 173824,
				'enddec' => 177972,
				'range' => 'CJK Unified Ideographs Extension C' 
		),
		array (
				'starthex' => '2F800',
				'endhex' => '2FA1F',
				'startdec' => 194560,
				'enddec' => 195103,
				'range' => 'CJK Compatibility Ideographs Supplement' 
		) 
);

?>